package com.http.filter;


import jakarta.servlet.ServletException;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

@WebServlet(name = "LoginServlet", value = "/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取用户输入的用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        // 用户凭验证通过，创建session并保存用户信息
        HttpSession session = request.getSession();
        if(isValidUser(username, password)){
            session.setAttribute("user", username); // 存储用户信息

            // 重定向到主页或其他已登录用户可以访问的页面
            response.sendRedirect("/index.html");
        } else {
            // 用户凭验证失败，重定向回登录页面，并提示错误信息
            // 用户名或密码错误，则重定向到登录页面
            // 并给出提示
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().print("<script language='javascript'>" +
                    "alert('您输入的账号或密码错误，请重新输入！');" +
                    "window.location.href='/pub/login.html';</script>");
        }
    }

    // 一个简单的用户验证方法
    private boolean isValidUser(String username, String password) {
        // 假设有一个固定的用户名和密码用于演示
        return "admin".equals(username) && "admin".equals(password);
    }
}
